Software Testing with QuickCheck
نویسنده
چکیده
See, it obviously works! The biggest problem with testing is actually not that bugs may remain in well-tested code—although of course they may. The biggest problem is that reaching acceptable quality by testing is so inordinately expensive! Testing typically accounts for around half the cost of a software project—so finding ways to reduce its cost, without compromising the quality of the result, is very valuable indeed. Running tests manually is the most expensive way to perform them. In practice, developers automate their tests in order to write them once, then run them many times. For example, the two tests above might be automated via the function definitions
منابع مشابه
Testing Properties of Generic Functions
Software testing is an important part of the software development process. Testing comes in many flavours: unit testing, property testing, regression testing, contract checking, etc. QuickCheck is probably one of the most advanced tools for testing properties of functional programs. It supports the definition of properties and random test-data generators in Haskell, and checks that a property p...
متن کاملModelling of Autosar Libraries for Large Scale Testing
We demonstrate a specific method and technology for model-based testing of large software projects with the QuickCheck tool using property-based specifications. Our specifications are very precise, state-full models of the software under test (SUT). In our approach we define (a) formal descriptions of valid function call sequences (public API), (b) postconditions that check the validity of each...
متن کاملExperiences with QuickCheck: Testing the Hard Stuff and Staying Sane
This is not a typical scientific paper. It does not present a new method, with careful experiments to evaluate it, and detailed references to related work. Rather, it recounts some of my experiences over the last 15 years, working with QuickCheck, and its purpose is as much to entertain as to inform. QuickCheck is a random testing tool that Koen Claessen and I invented, which has since become t...
متن کاملRandom Visual GUI Testing: Proof of Concept
Market demands for higher quality software and shorter time-to-market delivery have resulted in a need for new automated software testing techniques. Most automated testing techniques are designed for regression testing that limit their fault finding ability to faults explicitly tested in scenarios/scripts. To overcome this limitation, companies define test processes with several test technique...
متن کاملThe New Quickcheck for Isabelle - Random, Exhaustive and Symbolic Testing under One Roof
The new Quickcheck is a counterexample generator for Isabelle/HOL that uncovers faulty specifications and invalid conjectures using various testing strategies. The previous Quickcheck only tested conjectures by random testing. The new Quickcheck extends the previous one and integrates two novel testing strategies: exhaustive testing with concrete values; and symbolic testing, evaluating conject...
متن کامل